
package br.com.clicarros.controle.relatorio;

import br.com.clicarros.dao.Implementacao.IDAO;
import br.com.clicarros.dao.Implementacao.cliente.DAOCliente;
import br.com.clicarros.dao.Implementacao.relatorio.DAORelatorio;
import br.com.clicarros.dao.Implementacao.solicitacaoveiculo.DAOSolicitacaoVeiculo;
import br.com.clicarros.dao.Implementacao.veiculo.DAOVeiculo;
import br.com.clicarros.dominio.cliente.Cliente;
import br.com.clicarros.dominio.solicitacaoveiculo.SolicitacaoVeiculo;
import br.com.clicarros.dominio.veiculo.Veiculo;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Luana
 */
@WebServlet(name = "ControleRelatorio", urlPatterns = {"/ControleRelatorio"})
public class ControleRelatorio extends HttpServlet {
    
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
     
     if (request.getParameter("solicitacoes") != null){  
     
     try{   
     IDAO daosv = new DAOSolicitacaoVeiculo();
     
     List solicitacoes = daosv.listarTodos(new SolicitacaoVeiculo());
     
     for(Object solicitacao: solicitacoes) {
       SolicitacaoVeiculo s = (SolicitacaoVeiculo)solicitacao;
       
     IDAO daocli = new DAOCliente();
     
     s.setCliente((Cliente)daocli.consultarId(s.getCliente()));
     
     IDAO daov = new DAOVeiculo();
     
     s.setVeiculo((Veiculo)daov.consultarId(s.getVeiculo()));
     

     
     }
         
    request.setAttribute("solicitacoes", solicitacoes);
    
    request.getRequestDispatcher("relatorios/SolicitacaoVeiculo.jsp").forward(request, response);
     
     }catch(ClassNotFoundException e){
             request.setAttribute("mensagem", "<div id=mensagem>"+e.getMessage()+"</div>");
            request.getRequestDispatcher("erro.jsp").forward(request,response);
                
            }   
         catch(SQLException e){
            request.setAttribute("mensagem", "<div id=mensagem>"+e.getMessage()+"</div>");
            request.getRequestDispatcher("erro.jsp").forward(request,response);;
            } 
         
         catch(Exception e){
            request.setAttribute("mensagem", "<div id=mensagem>"+e.getMessage()+"</div>");
            request.getRequestDispatcher("erro.jsp").forward(request,response);
            }  
    
    } else if(request.getParameter("veiculosanuncios") != null){
        try{
            
            DAORelatorio dao = new DAORelatorio();
            
            request.setAttribute("veiculos", dao.veiculosAnuncio());
            request.getRequestDispatcher("relatorios/VeiculosAnuncios.jsp").forward(request, response);
            
        }catch(ClassNotFoundException e){
             request.setAttribute("mensagem", "<div id=mensagem>"+e.getMessage()+"</div>");
            request.getRequestDispatcher("erro.jsp").forward(request,response);
                
            }   
         catch(SQLException e){
            request.setAttribute("mensagem", "<div id=mensagem>"+e.getMessage()+"</div>");
            request.getRequestDispatcher("erro.jsp").forward(request,response);;
            } 
         
         catch(Exception e){
            request.setAttribute("mensagem", "<div id=mensagem>"+e.getMessage()+"</div>");
            request.getRequestDispatcher("erro.jsp").forward(request,response);
            }
    }
  }                        
}
